package 变量和数据类型;
/*
    当Java程序在进行赋值或者运算时，精度小的类型可以自动转换为精度达的数据类型

        1.有多种类型的数据混合运算时，系统会首先自动将所有的数据转换成容量大的那种数据类型，然后在进行计算
            byte->short->int->long->float->double
            char->int->long->float->double
        2.如果把精度大的数据类型赋值给精度小的数据类型，就会抱错
        3.byte,short和char之间不会相互自动转换
            - 当把具体数值赋值给bytes时，先判断该数是否在byte范围内，如果可以就转换
            byte b1 = 10; √

            int n2 = 1;
            byte n3 = n2; ×  如果是变量赋值，判断类型

            char c1 = n3; ×   byte不能自动转换成char
        4.byte,short,char三者计算，在计算之前首先转换为int类型
        5.自动提升原则：表达式结果的类型自动提升为操作数中最大的类型
        6.boolean不参与转换

 */
public class 基本数据类型转换 {
    public static void main(String[] args) {
        int a = 'a';
        double b = 29;
        System.out.println(a);
        System.out.println(b);

        int n1 = 10;
        float n2 = n1 + 1.1F;

        byte b1 = 1;
        short s1 = 1;

        int s2 = b1 + s1;

        double d3 = 1.1;

        double s3 = b1 + s1 + d3;

        String s6 = "12345";
        double v = Double.parseDouble(s6);
        System.out.println(v);
    }

}
